From 2bbc5f3059b95cbaccf41ca303bc40db341ccbcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= <79349457+MehdiChinoune@users.noreply.github.com> Date: Fri, 8 Apr 2022 15:17:59 +0100 Subject: [PATCH] openxr: update to 1.0.22 --- mingw-w64-openxr/006-cmake-gcc-11-fixes.patch | 452 ------------------ mingw-w64-openxr/PKGBUILD | 10 +- 2 files changed, 2 insertions(+), 460 deletions(-) delete mode 100644 mingw-w64-openxr/006-cmake-gcc-11-fixes.patch diff --git a/mingw-w64-openxr/006-cmake-gcc-11-fixes.patch b/mingw-w64-openxr/006-cmake-gcc-11-fixes.patch deleted file mode 100644 index cdcf58f341..0000000000 --- a/mingw-w64-openxr/006-cmake-gcc-11-fixes.patch +++ /dev/null @@ -1,452 +0,0 @@ -From 66690965385fcc9f71fbb3caccfdeb123dfca688 Mon Sep 17 00:00:00 2001 -From: Ryan Pavlik -Date: Fri, 13 Aug 2021 11:21:50 -0500 -Subject: [PATCH 1/5] Split the filesystem conditionals into a separate header - to share with detection. - ---- - src/common/filesystem_utils.cpp | 35 +------------------------ - src/common/stdfs_conditions.h | 45 +++++++++++++++++++++++++++++++++ - 2 files changed, 46 insertions(+), 34 deletions(-) - create mode 100644 src/common/stdfs_conditions.h - -diff --git a/src/common/filesystem_utils.cpp b/src/common/filesystem_utils.cpp -index 3b0685de..d3d4182f 100644 ---- a/src/common/filesystem_utils.cpp -+++ b/src/common/filesystem_utils.cpp -@@ -20,40 +20,7 @@ - #define USE_FINAL_FS 0 - - #else --// If the C++ macro is set to the version containing C++17, it must support --// the final C++17 package --#if __cplusplus >= 201703L --#define USE_EXPERIMENTAL_FS 0 --#define USE_FINAL_FS 1 -- --#elif defined(_MSC_VER) && _MSC_VER >= 1900 -- --#if defined(_HAS_CXX17) && _HAS_CXX17 --// When MSC supports c++17 use package. --#define USE_EXPERIMENTAL_FS 0 --#define USE_FINAL_FS 1 --#endif // !_HAS_CXX17 -- --// Right now, GCC still only supports the experimental filesystem items starting in GCC 6 --#elif (__GNUC__ >= 6) --#define USE_EXPERIMENTAL_FS 1 --#define USE_FINAL_FS 0 -- --// If Clang, check for feature support --#elif defined(__clang__) && (__cpp_lib_filesystem || __cpp_lib_experimental_filesystem) --#if __cpp_lib_filesystem --#define USE_EXPERIMENTAL_FS 0 --#define USE_FINAL_FS 1 --#else --#define USE_EXPERIMENTAL_FS 1 --#define USE_FINAL_FS 0 --#endif -- --// If all above fails, fall back to standard C++ and OS-specific items --#else --#define USE_EXPERIMENTAL_FS 0 --#define USE_FINAL_FS 0 --#endif -+#include "stdfs_conditions.h" - #endif - - #if USE_FINAL_FS == 1 -diff --git a/src/common/stdfs_conditions.h b/src/common/stdfs_conditions.h -new file mode 100644 -index 00000000..52e8a1df ---- /dev/null -+++ b/src/common/stdfs_conditions.h -@@ -0,0 +1,45 @@ -+// Copyright (c) 2017-2021 The Khronos Group Inc. -+// Copyright (c) 2017 Valve Corporation -+// Copyright (c) 2017 LunarG, Inc. -+// -+// SPDX-License-Identifier: Apache-2.0 OR MIT -+ -+#ifndef _STDFS_CONDITIONS_H -+#define _STDFS_CONDITIONS_H -+ -+// If the C++ macro is set to the version containing C++17, it must support -+// the final C++17 package -+#if __cplusplus >= 201703L -+#define USE_EXPERIMENTAL_FS 0 -+#define USE_FINAL_FS 1 -+ -+#elif defined(_MSC_VER) && _MSC_VER >= 1900 -+ -+#if defined(_HAS_CXX17) && _HAS_CXX17 -+// When MSC supports c++17 use package. -+#define USE_EXPERIMENTAL_FS 0 -+#define USE_FINAL_FS 1 -+#endif // !_HAS_CXX17 -+ -+// GCC supports the experimental filesystem items starting in GCC 6 -+#elif (__GNUC__ >= 6) -+#define USE_EXPERIMENTAL_FS 1 -+#define USE_FINAL_FS 0 -+ -+// If Clang, check for feature support -+#elif defined(__clang__) && (__cpp_lib_filesystem || __cpp_lib_experimental_filesystem) -+#if __cpp_lib_filesystem -+#define USE_EXPERIMENTAL_FS 0 -+#define USE_FINAL_FS 1 -+#else -+#define USE_EXPERIMENTAL_FS 1 -+#define USE_FINAL_FS 0 -+#endif -+ -+// If all above fails, fall back to standard C++ and OS-specific items -+#else -+#define USE_EXPERIMENTAL_FS 0 -+#define USE_FINAL_FS 0 -+#endif -+ -+#endif // !_STDFS_CONDITIONS_H - -From 0eec6af8fd08c4e0e5f63d3e4d4381fa41634ac3 Mon Sep 17 00:00:00 2001 -From: Ryan Pavlik -Date: Fri, 13 Aug 2021 11:30:01 -0500 -Subject: [PATCH 2/5] build: Port StdFilesystemFlags.cmake to use that same - header. - -Better than including the code in this file. ---- - src/cmake/StdFilesystemFlags.cmake | 44 ++++++++---------------------- - 1 file changed, 12 insertions(+), 32 deletions(-) - -diff --git a/src/cmake/StdFilesystemFlags.cmake b/src/cmake/StdFilesystemFlags.cmake -index b3e5c14b..0eb1e1d5 100644 ---- a/src/cmake/StdFilesystemFlags.cmake -+++ b/src/cmake/StdFilesystemFlags.cmake -@@ -2,6 +2,8 @@ - # - # SPDX-License-Identifier: BSL-1.0 - -+set(_FILESYSTEM_UTILS_DIR "${PROJECT_SOURCE_DIR}/src/common") -+ - if(MSVC AND MSVC_VERSION GREATER 1890) - set(HAVE_FILESYSTEM_WITHOUT_LIB - ON -@@ -26,37 +28,13 @@ else() - } - " - ) -- set(_stdfs_conditions -- "// If the C++ macro is set to the version containing C++17, it must support -- // the final C++17 package -- #if __cplusplus >= 201703L -- #define USE_FINAL_FS 1 -- -- #elif defined(_MSC_VER) && _MSC_VER >= 1900 -- -- #if defined(_HAS_CXX17) && _HAS_CXX17 -- // When MSC supports c++17 use package. -- #define USE_FINAL_FS 1 -- #endif // !_HAS_CXX17 -- -- // Right now, GCC still only supports the experimental filesystem items starting in GCC 6 -- #elif (__GNUC__ >= 6) -- #define USE_EXPERIMENTAL_FS 1 - -- // If Clang, check for feature support -- #elif defined(__clang__) && (__cpp_lib_filesystem || __cpp_lib_experimental_filesystem) -- #if __cpp_lib_filesystem -- #define USE_FINAL_FS 1 -- #else -- #define USE_EXPERIMENTAL_FS 1 -- #endif -+ set(_stdfs_conditions "#include -+ ") - -- #endif -- " -- ) - set(_stdfs_source - "${_stdfs_conditions} -- #ifdef USE_FINAL_FS -+ #if defined(USE_FINAL_FS) && USE_FINAL_FS - #include - using namespace std::filesystem; - #endif -@@ -65,7 +43,7 @@ else() - ) - set(_stdfs_experimental_source - "${_stdfs_conditions} -- #ifdef USE_EXPERIMENTAL_FS -+ #if defined(USE_EXPERIMENTAL_FS) && USE_EXPERIMENTAL_FS - #include - using namespace std::experimental::filesystem; - #endif -@@ -74,11 +52,11 @@ else() - ) - set(_stdfs_needlib_source - "${_stdfs_conditions} -- #ifdef USE_FINAL_FS -+ #if defined(USE_FINAL_FS) && USE_FINAL_FS - #include - using namespace std::filesystem; - #endif -- #ifdef USE_EXPERIMENTAL_FS -+ #if defined(USE_EXPERIMENTAL_FS) && USE_EXPERIMENTAL_FS - #include - using namespace std::experimental::filesystem; - #endif -@@ -88,8 +66,10 @@ else() - - # First, just look for the include. - # We're checking if it compiles, not if the include exists, -- # because the source code uses similar conditionals to decide. -+ # because the source code uses the same conditionals to decide. -+ # (Static libraries are just object files, they don't get linked) - set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) -+ set(CMAKE_REQUIRED_INCLUDES "${_FILESYSTEM_UTILS_DIR}") - unset(CMAKE_REQUIRED_LIBRARIES) - unset(CMAKE_REQUIRED_FLAGS) - check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD) -@@ -121,7 +101,7 @@ else() - check_cxx_source_compiles("${_stdfs_needlib_source}" HAVE_FILESYSTEM_NEEDING_LIBCXXFS) - unset(CMAKE_REQUIRED_LIBRARIES) - unset(CMAKE_TRY_COMPILE_TARGET_TYPE) -- -+ unset(CMAKE_REQUIRED_INCLUDES) - endif() - - function(openxr_add_filesystem_utils TARGET_NAME) - -From 288ab9228c866fefb50254f29f6925422df1580a Mon Sep 17 00:00:00 2001 -From: Ryan Pavlik -Date: Fri, 13 Aug 2021 11:30:16 -0500 -Subject: [PATCH 3/5] build: Clean up and document StdFilesystemFlags.cmake - ---- - src/cmake/StdFilesystemFlags.cmake | 62 ++++++++++++++++++++++++++++-- - 1 file changed, 58 insertions(+), 4 deletions(-) - -diff --git a/src/cmake/StdFilesystemFlags.cmake b/src/cmake/StdFilesystemFlags.cmake -index 0eb1e1d5..35af972c 100644 ---- a/src/cmake/StdFilesystemFlags.cmake -+++ b/src/cmake/StdFilesystemFlags.cmake -@@ -20,7 +20,14 @@ if(MSVC AND MSVC_VERSION GREATER 1890) - else() - include(CheckCXXSourceCompiles) - -- # This is just example code that is known to not compile if std::filesystem isn't working right -+ ### -+ # Test Sources -+ ### -+ -+ # This is just example code that is known to not compile if std::filesystem isn't working right. -+ # It depends on having the proper includes and `using namespace` so it can use the `is_regular_file` -+ # function unqualified. -+ # It is at the end of every test file below. - set(_stdfs_test_source - "int main() { - (void)is_regular_file(\"/\"); -@@ -29,9 +36,23 @@ else() - " - ) - -+ # This is preprocessor code included in all test compiles, which pulls in the conditions -+ # originally found in filesystem_utils.cpp. -+ # -+ # It defines: -+ # USE_FINAL_FS = 1 if it thinks we have the full std::filesystem in as in C++17 -+ # USE_EXPERIMENTAL_FS = 1 if it thinks we don't have the full c++17 filesystem, but should have -+ # std::experimental::filesystem and -+ # -+ # Ideally the first condition (__cplusplus >= 201703L) would handle most cases, -+ # however you're not supposed to report that unless you're fully conformant with all -+ # of c++17, so you might have a c++17 build flag and the final filesystem library but -+ # a lower __cplusplus value if some other part of the standard is missing. - set(_stdfs_conditions "#include - ") - -+ # This should only compile if our common detection code decides on the -+ # **final** (non-experimental) filesystem library. - set(_stdfs_source - "${_stdfs_conditions} - #if defined(USE_FINAL_FS) && USE_FINAL_FS -@@ -41,6 +62,9 @@ else() - ${_stdfs_test_source} - " - ) -+ -+ # This should only compile if our common detection code decides on the -+ # **experimental** filesystem library. - set(_stdfs_experimental_source - "${_stdfs_conditions} - #if defined(USE_EXPERIMENTAL_FS) && USE_EXPERIMENTAL_FS -@@ -50,6 +74,11 @@ else() - ${_stdfs_test_source} - " - ) -+ -+ # This should compile if the common detection code decided that either -+ # the experimental or final filesystem library is available. -+ # We use this when trying to detect what library to link, if any: -+ # earlier checks are the ones that care about how we include the headers. - set(_stdfs_needlib_source - "${_stdfs_conditions} - #if defined(USE_FINAL_FS) && USE_FINAL_FS -@@ -64,6 +93,10 @@ else() - " - ) - -+ ### -+ # Identifying header/namespace and standards flags -+ ### -+ - # First, just look for the include. - # We're checking if it compiles, not if the include exists, - # because the source code uses the same conditionals to decide. -@@ -75,15 +108,20 @@ else() - check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD) - check_cxx_source_compiles("${_stdfs_experimental_source}" HAVE_FILESYSTEM_IN_STDEXPERIMENTAL) - -+ # See if the "final" version builds if we try to specify C++17 explicitly -+ # TODO I think this should actually be compiler flags, not cmake flags... - set(CMAKE_REQUIRED_FLAGS "-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=TRUE") - check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD_17) - unset(CMAKE_REQUIRED_FLAGS) - -+ # If we found the final version of filesystem when specifying c++17 explicitly, -+ # but found it no other way, then we record that we must use C++17 flags. - if(HAVE_FILESYSTEM_IN_STD_17 AND NOT HAVE_FILESYSTEM_IN_STD) - set(HAVE_FILESYSTEM_NEEDS_17 - ON - CACHE INTERNAL "" - ) -+ # TODO I think this should actually be compiler flags, not cmake flags... - set(CMAKE_REQUIRED_FLAGS "-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=TRUE") - else() - set(HAVE_FILESYSTEM_NEEDS_17 -@@ -92,21 +130,37 @@ else() - ) - endif() - -- # Now, see if we need libstdc++fs -+ ### -+ # Identifying library to link -+ ### -+ -+ # Now, see if we need to link against libstdc++fs, and what it's called -+ # If we needed c++17 standard flags to find it, they've already been set above. - set(CMAKE_TRY_COMPILE_TARGET_TYPE EXECUTABLE) -+ -+ # Try with no lib specified - check_cxx_source_compiles("${_stdfs_needlib_source}" HAVE_FILESYSTEM_WITHOUT_LIB) -+ -+ # Try with stdc++fs - set(CMAKE_REQUIRED_LIBRARIES stdc++fs) - check_cxx_source_compiles("${_stdfs_needlib_source}" HAVE_FILESYSTEM_NEEDING_LIBSTDCXXFS) -+ -+ # Try with c++fs (from clang's libc++) - set(CMAKE_REQUIRED_LIBRARIES c++fs) - check_cxx_source_compiles("${_stdfs_needlib_source}" HAVE_FILESYSTEM_NEEDING_LIBCXXFS) -+ -+ # Clean up these variables before the next user. - unset(CMAKE_REQUIRED_LIBRARIES) - unset(CMAKE_TRY_COMPILE_TARGET_TYPE) - unset(CMAKE_REQUIRED_INCLUDES) - endif() - -+# Use the observations of the code above to add the filesystem_utils.cpp -+# file to a target, along with any required compiler settings and libraries. -+# Also handles our BUILD_WITH_STD_FILESYSTEM option. - function(openxr_add_filesystem_utils TARGET_NAME) -- target_sources(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src/common/filesystem_utils.cpp) -- target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src/common) -+ target_sources(${TARGET_NAME} PRIVATE ${_FILESYSTEM_UTILS_DIR}/filesystem_utils.cpp) -+ target_include_directories(${TARGET_NAME} PRIVATE ${_FILESYSTEM_UTILS_DIR}) - if(NOT BUILD_WITH_STD_FILESYSTEM) - target_compile_definitions(${TARGET_NAME} PRIVATE DISABLE_STD_FILESYSTEM) - else() - -From bbef2219ecfae31bc67962d945146cf4f8f9d4fc Mon Sep 17 00:00:00 2001 -From: Ryan Pavlik -Date: Mon, 25 Oct 2021 12:26:02 -0500 -Subject: [PATCH 4/5] build: Update to handle GCC 11 explicitly. - ---- - src/cmake/StdFilesystemFlags.cmake | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -diff --git a/src/cmake/StdFilesystemFlags.cmake b/src/cmake/StdFilesystemFlags.cmake -index 35af972c..e80d3919 100644 ---- a/src/cmake/StdFilesystemFlags.cmake -+++ b/src/cmake/StdFilesystemFlags.cmake -@@ -104,24 +104,28 @@ else() - set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) - set(CMAKE_REQUIRED_INCLUDES "${_FILESYSTEM_UTILS_DIR}") - unset(CMAKE_REQUIRED_LIBRARIES) -- unset(CMAKE_REQUIRED_FLAGS) -- check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD) -- check_cxx_source_compiles("${_stdfs_experimental_source}" HAVE_FILESYSTEM_IN_STDEXPERIMENTAL) -+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0) -+ # GCC 11+ defaults to C++17 mode and acts badly in these tests if we tell it to use a different version. -+ set(HAVE_FILESYSTEM_IN_STD_17 ON) -+ set(HAVE_FILESYSTEM_IN_STD OFF) -+ else() -+ set(CMAKE_REQUIRED_FLAGS "-DCMAKE_CXX_STANDARD=14 -DCMAKE_CXX_STANDARD_REQUIRED=TRUE") -+ check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD) -+ check_cxx_source_compiles("${_stdfs_experimental_source}" HAVE_FILESYSTEM_IN_STDEXPERIMENTAL) - -- # See if the "final" version builds if we try to specify C++17 explicitly -- # TODO I think this should actually be compiler flags, not cmake flags... -- set(CMAKE_REQUIRED_FLAGS "-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=TRUE") -- check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD_17) -- unset(CMAKE_REQUIRED_FLAGS) -+ # See if the "final" version builds if we try to specify C++17 explicitly -+ set(CMAKE_REQUIRED_FLAGS "-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=TRUE") -+ check_cxx_source_compiles("${_stdfs_source}" HAVE_FILESYSTEM_IN_STD_17) -+ unset(CMAKE_REQUIRED_FLAGS) -+ endif() - -- # If we found the final version of filesystem when specifying c++17 explicitly, -+ # If we found the final version of filesystem when specifying C++17 explicitly, - # but found it no other way, then we record that we must use C++17 flags. - if(HAVE_FILESYSTEM_IN_STD_17 AND NOT HAVE_FILESYSTEM_IN_STD) - set(HAVE_FILESYSTEM_NEEDS_17 - ON - CACHE INTERNAL "" - ) -- # TODO I think this should actually be compiler flags, not cmake flags... - set(CMAKE_REQUIRED_FLAGS "-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=TRUE") - else() - set(HAVE_FILESYSTEM_NEEDS_17 -@@ -135,7 +139,7 @@ else() - ### - - # Now, see if we need to link against libstdc++fs, and what it's called -- # If we needed c++17 standard flags to find it, they've already been set above. -+ # If we needed C++17 standard flags to find it, they've already been set above. - set(CMAKE_TRY_COMPILE_TARGET_TYPE EXECUTABLE) - - # Try with no lib specified - -From 6b8f48bb6413b447f2b420f89121e1244a43f0d5 Mon Sep 17 00:00:00 2001 -From: Ryan Pavlik -Date: Thu, 28 Oct 2021 17:27:44 -0500 -Subject: [PATCH 5/5] Changelog fragment - ---- - changes/sdk/pr.276.gh.OpenXR-SDK-Source.md | 5 +++++ - 1 file changed, 5 insertions(+) - create mode 100644 changes/sdk/pr.276.gh.OpenXR-SDK-Source.md - -diff --git a/changes/sdk/pr.276.gh.OpenXR-SDK-Source.md b/changes/sdk/pr.276.gh.OpenXR-SDK-Source.md -new file mode 100644 -index 00000000..63086223 ---- /dev/null -+++ b/changes/sdk/pr.276.gh.OpenXR-SDK-Source.md -@@ -0,0 +1,5 @@ -+--- -+- issue.260.gh.OpenXR-SDK-Source -+- issue.1571.gl -+--- -+- Fix detection of std::filesystem options on GCC 11 and newer. diff --git a/mingw-w64-openxr/PKGBUILD b/mingw-w64-openxr/PKGBUILD index d0a59b4984..a0b13c6be9 100644 --- a/mingw-w64-openxr/PKGBUILD +++ b/mingw-w64-openxr/PKGBUILD @@ -3,7 +3,7 @@ _realname=openxr-sdk pkgbase=mingw-w64-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} -pkgver=1.0.20 +pkgver=1.0.22 pkgrel=1 pkgdesc='OpenXR is a royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR) (mingw-w64)' arch=('any') @@ -23,15 +23,13 @@ source=(${_realname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/OpenXR-SD 003-disable-version-script.patch 004-fix-cmake-install-dir.patch 005-no-pdb-file-for-mingw-w64.patch - 006-cmake-gcc-11-fixes.patch libopenxr_loader_32.def) -sha256sums=('b32703d30b4f40f5cb1a16e7242e3587ad5b3b47893c90dce884b162c5ca0e02' +sha256sums=('fe84446c0e8d87f0bea0bfec20c6b38d8eb7de811006eada1f50f43b2d5b8f59' 'b3deca2f23e535b40bd25d76adf907075373d9616b9bb6dc009209ab895569fb' 'da99914487a7c27137a13ff6ae39344cb9276a8cee41eeffc34b688deceff1a9' '66f71a382a27c82d17ea5425e61b18503cecc2a52b9b8c6561344d7a562c070e' 'a03fc2adf3a3f083c92bb44e76511d22c6ad0ac5ab212ebce68e6dcbb01c72e7' '6acfe285e771e750fc2ac6dbcbf4142c3b7d86f660dd80e228ca4a2a90ff0e4a' - 'b0e025f6f7bd81a0c254d1b0d6836a08c78b60051d1e262e4575d4e3de5c8034' 'c268c94efe7ec8cfb83eccc506a8035869dd42eebfb5037537ecf642b08f25cc') validpgpkeys=(F029455EAB70F520FF4A03BD7F534CD56F00321E) @@ -54,10 +52,6 @@ prepare() { 004-fix-cmake-install-dir.patch \ 005-no-pdb-file-for-mingw-w64.patch - # https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/276 - apply_patch_with_msg \ - 006-cmake-gcc-11-fixes.patch - # For stdcall fixup, generated from upstream released DLLs if [ "${CARCH}" = "i686" ]; then cp ${srcdir}/libopenxr_loader_32.def src/loader/openxr-loader.def