Files
Madison b3058f76f6 Add a Steam Frame build type with the Khronos OpenXR loader
The Frame runs Android apps in a container (Lepton) that has no OpenXR
loader broker, so the APK needs its own loader. This adds a "frame" build
type: ./gradlew assembleFrame.

It's release plus:
- applicationId .frame, minSdk 30 (the container is Android 11)
- a manifest overlay that drops the headtracking requirement and the
  Quest/Pico metadata, since the install fails with it
- the Khronos loader 1.1.63, fetched from Maven Central at build time,
  checked against a SHA-256 and unpacked into build/ (not committed)
- L1VR_STEAM_FRAME for the native code, BuildConfig.STEAM_FRAME for Java

Quest builds don't see any of this. I also added the gradle wrapper script
to Projects/Android, since the wrapper jar and properties were already
there, and -Wall for the VR sources.

Haven't run it on the headset yet.
2026-10-04 18:36:18 +09:00

21 lines
612 B
Makefile

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := openxr_loader
# The Steam Frame build passes the Khronos loader it fetched
ifneq ($(L1VR_OPENXR_LOADER),)
LOCAL_SRC_FILES := $(L1VR_OPENXR_LOADER)
LOADER_FILE := $(L1VR_OPENXR_LOADER)
else
LOCAL_SRC_FILES := lib$(LOCAL_MODULE).so
LOADER_FILE := $(LOCAL_PATH)/$(LOCAL_SRC_FILES)
endif
# NOTE: This check is added to prevent the following error when running a "make clean" where
# the prebuilt lib may have been deleted: "LOCAL_SRC_FILES points to a missing file"
ifneq (,$(wildcard $(LOADER_FILE)))
include $(PREBUILT_SHARED_LIBRARY)
endif