Skip to content

Commit 6f3ccf3

Browse files
committed
OpenXR SDK 1.0.28.2 hotfix release: Includes the following fixes
- Loader spec: Fix description of <queries> element contents: existing description would fail to install. (internal MR 2840, internal issue 2053) - Android AAR artifacts (loader) and hello_xr: Fix <queries> element contents. (internal MR 2840, internal issue 2053) - Android AAR artifacts: Fix C++ standard library selection for Android artifacts in build-aar.sh (internal MR 2836, internal issue 2052) - Android AAR artifacts: Use jar instead of 7-zip to perform archiving, and document requirements in build-aar.sh (internal MR 2836, OpenXR-SDK-Source issue 303, internal issue 1711) - build system: Support SDK hotfix versions (fourth version component). (internal MR 2836)
1 parent d6b6d7a commit 6f3ccf3

File tree

17 files changed

+162
-38
lines changed

17 files changed

+162
-38
lines changed

.reuse/dep5

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Upstream-Contact: Ryan Pavlik <openxr-speceditor AT khronos DOT org>
44
Source: https://khronos.org/registry/OpenXR/
55

66
Files: changes/*
7+
HOTFIX
78
Copyright: 2019-2023, The Khronos Group Inc.
89
License: CC-BY-4.0
910

CHANGELOG.SDK.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,28 @@ the loader documentation now describes how OpenXR handles compatibility with
2828
Android API levels of 30 and above: runtimes may need to update accordingly to
2929
support this compatibility solution.
3030

31+
- **OpenXR SDK 1.0.28.2** hotfix release includes the following fixes
32+
- Loader spec: Fix description of `<queries>` element contents: existing
33+
description would fail to install.
34+
([internal MR 2840](https://gitlab.khronos.org/openxr/openxr/merge_requests/2840),
35+
[internal issue 2053](https://gitlab.khronos.org/openxr/openxr/issues/2053))
36+
- Android AAR artifacts (loader) and hello_xr: Fix `<queries>` element contents.
37+
([internal MR 2840](https://gitlab.khronos.org/openxr/openxr/merge_requests/2840),
38+
[internal issue 2053](https://gitlab.khronos.org/openxr/openxr/issues/2053))
39+
- Android AAR artifacts: Fix C++ standard library selection for Android artifacts
40+
in `build-aar.sh`
41+
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836),
42+
[internal issue 2052](https://gitlab.khronos.org/openxr/openxr/issues/2052))
43+
- Android AAR artifacts: Use `jar` instead of 7-zip to perform archiving, and
44+
document requirements in `build-aar.sh`
45+
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836),
46+
[OpenXR-SDK-Source issue 303](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/303),
47+
[internal issue 1711](https://gitlab.khronos.org/openxr/openxr/issues/1711))
48+
- build system: Support SDK hotfix versions (fourth version component).
49+
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836))
50+
- **OpenXR SDK 1.0.28.1** hotfix release includes the following fix
51+
- API dump layer: Fix build on Windows on ARM64.
52+
([OpenXR-SDK-Source PR 414](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/414))
3153
- Registry
3254
- Added defines to `xr.xml` for extension enum base and enum stride.
3355
([internal MR 2693](https://gitlab.khronos.org/openxr/openxr/merge_requests/2693),

HOTFIX

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2

changes/sdk/mr.2836.gl.1.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
- issue.2052.gl
3+
---
4+
Android AAR artifacts: Fix C++ standard library selection for Android artifacts in `build-aar.sh`

changes/sdk/mr.2836.gl.2.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
- issue.303.gh.OpenXR-SDK-Source
3+
- issue.1711.gl
4+
---
5+
- Android AAR artifacts: Use `jar` instead of 7-zip to perform archiving, and document requirements in `build-aar.sh`

changes/sdk/mr.2836.gl.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- build system: Support SDK hotfix versions (fourth version component).

changes/sdk/mr.2840.gl.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
- issue.2053.gl
3+
---
4+
- Android AAR artifacts (loader) and hello_xr: Fix `<queries>` element contents.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
API dump layer: Fix build on Windows on ARM64.

maintainer-scripts/build-aar.sh

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,64 @@
11
#!/usr/bin/env bash
2-
# Copyright (c) 2020-2022 Collabora, Ltd.
2+
# Copyright (c) 2020-2023 Collabora, Ltd.
33
#
44
# SPDX-License-Identifier: Apache-2.0
55

6+
# Builds the .aar Android prefab artifact for the OpenXR Loader.
7+
# Depends on the tools `cmake`, `ninja`, and `jar` (usually shipped with your JDK)
8+
# in addition to an Android NDK.
9+
#
10+
# Requires that ANDROID_NDK_HOME be set in the environment.
11+
# Pass the argument "clean" to wipe build directories before building.
12+
#
13+
# Touch a file named SNAPSHOT in the root directory to
14+
# make a version suffixed with -SNAPSHOT
15+
616
set -e
17+
18+
logMsg() {
19+
echo
20+
echo "**** $1"
21+
echo
22+
}
23+
724
ROOT=$(cd "$(dirname "$0")" && cd .. && pwd)
825

926
OPENXR_ANDROID_VERSION_SUFFIX=
1027
if [ -f "${ROOT}/SNAPSHOT" ]; then
1128
OPENXR_ANDROID_VERSION_SUFFIX=-SNAPSHOT
12-
echo "Building a -SNAPSHOT version"
29+
logMsg "Building a -SNAPSHOT version"
1330
fi
1431

1532
BUILD_DIR=${BUILD_DIR:-${ROOT}/build-android}
1633
INSTALL_DIR=${INSTALL_DIR:-${ROOT}/build-android-install}
1734

18-
ANDROID_STL=$(grep ext.stl "${ROOT}/src/loader/build.gradle" | sed -E 's/.*"(.*)"/\1/')
35+
ANDROID_STL=c++_static
1936
CONFIG=Release
2037
ANDROID_PLATFORM=24
2138

39+
logMsg "ANDROID_NDK_HOME: ${ANDROID_NDK_HOME}"
40+
logMsg "ANDROID_STL: ${ANDROID_STL}"
41+
logMsg "CONFIG: ${CONFIG}"
42+
logMsg "ANDROID_PLATFORM: ${ANDROID_PLATFORM}"
43+
44+
logMsg "BUILD_DIR: ${BUILD_DIR}"
45+
logMsg "INSTALL_DIR: ${INSTALL_DIR}"
46+
47+
logMsg "Wiping install staging dir"
2248
rm -rf "${INSTALL_DIR}"
49+
50+
if [ "$1" = "clean" ]; then
51+
logMsg "Wiping build dir completely"
52+
rm -rf "${BUILD_DIR}"
53+
fi
54+
2355
if [ -d "${BUILD_DIR}" ]; then
56+
logMsg "Removing POM files from build dir"
2457
find "${BUILD_DIR}" -name "*.pom" -delete
2558
fi
2659

2760
for arch in x86 x86_64 armeabi-v7a arm64-v8a; do
61+
logMsg "Configuring and building for arch ${arch}"
2862
cmake -S "${ROOT}" \
2963
-B "${BUILD_DIR}/${arch}" \
3064
-G Ninja \
@@ -44,16 +78,23 @@ for arch in x86 x86_64 armeabi-v7a arm64-v8a; do
4478

4579
ninja -C "${BUILD_DIR}/${arch}"
4680

81+
logMsg "Installing for arch ${arch}"
82+
4783
for comp in License Headers Loader Prefab; do
84+
# Component-wise install of the build, since we do not want all components
4885
cmake -DCMAKE_INSTALL_COMPONENT=${comp} -P "${BUILD_DIR}/${arch}/cmake_install.cmake"
4986
done
5087
done
88+
89+
# The name of the POM file that CMake made with our decorated version number
5190
DECORATED=$(cd "${BUILD_DIR}/x86/src/loader" && ls openxr_loader*.pom)
5291
cp "${BUILD_DIR}/x86/src/loader/${DECORATED}" .
5392

5493
DIR=$(pwd)
5594
(
95+
logMsg "Packing AAR file"
5696
cd "$INSTALL_DIR/openxr"
57-
7za a -r ../openxr.zip ./*
58-
mv ../openxr.zip "$DIR/${DECORATED%.pom}.aar"
97+
AARFILE="$DIR/${DECORATED%.pom}.aar"
98+
jar --create --file="${AARFILE}" ./*
99+
logMsg "AAR file created: ${AARFILE}"
59100
)

specification/loader/runtime.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,8 @@ manifest and will be merged into your application manifest automatically.)
225225
<provider android:authorities="org.khronos.openxr.runtime_broker;org.khronos.openxr.system_runtime_broker" />
226226
<intent>
227227
<action android:name="org.khronos.openxr.OpenXRRuntimeService" />
228+
</intent>
229+
<intent>
228230
<action android:name="org.khronos.openxr.OpenXRApiLayerService" />
229231
</intent>
230232
</queries>

0 commit comments

Comments
 (0)