Skip to content

Update vcpkg-tool to 2023-06-07 + xbox triplets cleanup#31723

Merged
BillyONeal merged 6 commits intomicrosoft:masterfrom
BillyONeal:tool-update-2023-05-30
Jun 8, 2023
Merged

Update vcpkg-tool to 2023-06-07 + xbox triplets cleanup#31723
BillyONeal merged 6 commits intomicrosoft:masterfrom
BillyONeal:tool-update-2023-05-30

Conversation

@BillyONeal
Copy link
Member

https://github.com/microsoft/vcpkg-tool/releases/tag/2023-05-30

Clean up xbox triplets following teaching vcpkg.exe about xbox more directly.

Also deletes the seemingly-no-longer-used vcpkg_get_dep_info.cmake and vcpkg_get_tags.cmake.

@BillyONeal BillyONeal added info:internal category:infrastructure Pertaining to the CI/Testing infrastrucutre labels May 30, 2023
https://github.com/microsoft/vcpkg-tool/releases/tag/2023-05-30 +
https://github.com/microsoft/vcpkg-tool/releases/tag/2023-05-31

Clean up xbox triplets following teaching vcpkg.exe about xbox more directly.

Also deletes the seemingly-no-longer-used vcpkg_get_dep_info.cmake and vcpkg_get_tags.cmake.
@BillyONeal BillyONeal force-pushed the tool-update-2023-05-30 branch from 34afbce to f4b7248 Compare May 31, 2023 17:25
Comment on lines +135 to +138
if(DEFINED VCPKG_XBOX_CONSOLE_TARGET)
vcpkg_list(APPEND arg_OPTIONS "-DXBOX_CONSOLE_TARGET=${VCPKG_XBOX_CONSOLE_TARGET}")
endif()

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah world rebuilds for everyone..... just for a "clean" triplet (whatever that means.)

Copy link
Member Author

Choose a reason for hiding this comment

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

just for a "clean" triplet (whatever that means.)

For example, when compiling for xbox this makes the binary cache depend on the version of the GXDK used rather than the file path.

Copy link
Contributor

Choose a reason for hiding this comment

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

For example, when compiling for xbox this makes the binary cache depend on the version of the GXDK used rather than the file path.

https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/users/triplets.md#vcpkg_env_passthrough_untracked ?

Copy link
Member Author

Choose a reason for hiding this comment

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

That would mean the GXDK was not included at all.

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean MS can have magic in the tool for special cases as much as it wants but that sounds like a use case for microsoft/vcpkg-tool#816

Copy link
Contributor

Choose a reason for hiding this comment

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

There are ways to pass platform-specific options from the triplet to the maintainer functions. I would prefer to not add more platform-specific code into scripts which are ABI-tracked for all platforms when the use case can be handled in specific triplet files.

Copy link
Member Author

Choose a reason for hiding this comment

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

The vcpkg team spoke very briefly about this at a team meeting this morning. We agree that we will reconsider this design approach for future settings, and investigate if alternatives to our existing "VCPKG_<foo> becomes <foo>" for every setting we wish to create would provide a better caching experience. However, we already have enough agreements in place for this particular change that we wish to move forward with this design as is. Note that this design is consistent with all other VCPKG_<foo> triplet variables such as VCPKG_CXX_FLAGS.

=======================================

Speaking personally, a couple notes:

  • I agree that avoiding needlessly invalidating binary caches is a good thing.
  • I agree that, wherever possible, we should have a design that doesn't need to invalidate binary caches whenever we add a new knob.
  • I do not believe we currently have a design capable of achieving that, but we will look at trying to do that next time, including by, for example, implementing the option entirely in-tool.
  • I do not agree that anything that could be done with custom triplets requiring 6+ settings to be expertly set perfectly is an acceptable outcome for experiences we want to be first class. (And we do want xbox to be first class)
  • I think this calls into question all VCPKG_TARGET_IS settings and think we should strongly consider not adding any more.

@BillyONeal BillyONeal changed the title Update vcpkg-tool to 2023-05-30 + xbox triplets cleanup Update vcpkg-tool to 2023-05-31 + xbox triplets cleanup May 31, 2023
@BillyONeal
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BillyONeal
Copy link
Member Author

Something is making that one particular machine very angry:

image

I'm not sure if this is a tool change issue or a machine issue; all the bad_alloc and stack buffer overrun failures seem to be coming from the same one...

@BillyONeal
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BillyONeal
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

dan-shaw
dan-shaw previously approved these changes Jun 5, 2023
@BillyONeal
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BillyONeal BillyONeal changed the title Update vcpkg-tool to 2023-05-31 + xbox triplets cleanup Update vcpkg-tool to 2023-06-07 + xbox triplets cleanup Jun 7, 2023
@BillyONeal BillyONeal merged commit 638b158 into microsoft:master Jun 8, 2023
@BillyONeal BillyONeal deleted the tool-update-2023-05-30 branch June 8, 2023 18:17
ybogo pushed a commit to ybogo/vcpkg that referenced this pull request Jun 9, 2023
)

* Update vcpkg-tool to 2023-05-31 + xbox triplets cleanup

https://github.com/microsoft/vcpkg-tool/releases/tag/2023-05-30 +
https://github.com/microsoft/vcpkg-tool/releases/tag/2023-05-31 +
https://github.com/microsoft/vcpkg-tool/releases/tag/2023-06-07

Clean up xbox triplets following teaching vcpkg.exe about xbox more directly.

Also deletes the seemingly-no-longer-used vcpkg_get_dep_info.cmake and vcpkg_get_tags.cmake.

Also: [redis-plus-plus] Add DISABLE_PARALLEL_CONFIGURE due to source tree write.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:infrastructure Pertaining to the CI/Testing infrastrucutre

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants