Skip to content

Conversation

vaind
Copy link
Collaborator

@vaind vaind commented Aug 1, 2025

Having the xbox support spread out between multiple repositories (sentry-native and sentry-xbox) induces a maintenance burden. Also, it's a bit of a pain when including toolchains in the downstream sentry-xbox due to having first fetch this repo before being able to use them in cmake.

This PR removes the toolchains from this repo. Additionally, I've removed changelog items from the unreleased versionnot relevant here anymore.

@vaind vaind marked this pull request as ready for review August 4, 2025 08:52
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

Copy link
Collaborator

@supervacuus supervacuus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just blocking this so it doesn't get accidentally merged.

Comment on lines 75 to 76
# elif defined(SENTRY_PLATFORM_XBOX)
# define SENTRY_SDK_NAME "sentry.native.xbox"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't highlight this because it would be fine to do this in a closed repo. So, with the toolchain defs removed, no one could use the open alone repo anymore anyway, so having the def here wouldn't provide a lot in return. However, I am fine either way. You guys delineate which parts should be where.

Copy link
Collaborator Author

@vaind vaind Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been thinking along the same line but @bruno-garcia asked me to put this back because it's possible sometimes can still use sentry-native directly if they use their own toolchain file (e.g. if they pull this directly to their build system instead of precompiling), which is a good point. This is a small piece of code anyway so should be alright to keep here

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This certainly makes sense.

elseif(CMAKE_SYSTEM_NAME STREQUAL "Prospero")
set(PROSPERO TRUE)
elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "Gaming\\.Xbox\\.(Scarlett|XboxOne)\\.x64")
set(XBOX TRUE)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Xbox Build Failures Due to Incorrect Variable Placement

Xbox support is broken. The new XBOX variable detection logic is incorrectly placed within an elseif chain that checks CMAKE_SYSTEM_NAME. Since Xbox builds set CMAKE_SYSTEM_NAME to "WINDOWS", the CMAKE_GENERATOR_PLATFORM condition for Xbox is never reached, and XBOX is never set. This, coupled with the removal of Xbox toolchain files that generated gdk_build.props (a file referenced by later CMake logic when XBOX is true), leads to build failures for Xbox targets.

Fix in Cursor Fix in Web

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's not true, there's no CMAKE_SYSTEM_NAME == windows condition in this if-elseif chain

@vaind vaind merged commit 305dec3 into master Aug 7, 2025
64 of 67 checks passed
@vaind vaind deleted the chore/move-xbox-toolchain branch August 7, 2025 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants