Skip to content

Update toolchain for C++ Test projects#297

Merged
BCSharp merged 1 commit intoIronLanguages:mainfrom
BCSharp:drop_itanium
Mar 1, 2026
Merged

Update toolchain for C++ Test projects#297
BCSharp merged 1 commit intoIronLanguages:mainfrom
BCSharp:drop_itanium

Conversation

@BCSharp
Copy link
Member

@BCSharp BCSharp commented Feb 27, 2026

Projects DlrComLibrary.vcxproj and DlrComLibraryPS.vcxproj were buildable only by Visual Studio 2010. VS 2010 is End-Of-Support since July 2015 (and Extended Support since July 2020), making them not buildable by any currently available VS.

Also, since the solution file has been migrated to the SLNX format, the minimum version to open it is VS 2022.

This PR makes the following changes:

  1. Removed Itanium configuration; VS 2010 was the last version that supported it.
  2. Fixed the C++ toolset to 14.5, supported by VS 2022 and VS 2026.
  3. Registers DlrComLibrary in HKCU rather than HKLM, so that the build and tests can be done without having to obtain Administrator privileges.

Note 1. The DLR COM DLR builds with warnings; these should be investigated.

Note 2.The Proxy/Stub DLL project still does not build successfully. TBD.

Note 3. There are no tests for those DLLs, despite being placed in directory Test. All tests for COM interop are in the IronPython repo, but appear non-functional, so there is currently no way to test the DLR COM.

Copy link
Contributor

@slozier slozier left a comment

Choose a reason for hiding this comment

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

Thanks! Works for me.

I had taken a stab at reviving the com tests in the IronPython repo a while back. Unfortunately I got discouraged and gave up on it. 😄

@BCSharp
Copy link
Member Author

BCSharp commented Feb 27, 2026

I had taken a stab at reviving the com tests in the IronPython repo a while back. Unfortunately I got discouraged and gave up on it. 😄

Oh, how long ago? I am looking at it right now. But it starts to feel like a detour from a detour from a detour.

  • I am looking at COM tests in IronPython, because I want to be able to test/verify the COM libs in the DLR, now that I've upgraded the projects.
  • I upgraded the toolset for DLR COM libs, because I also upgraded the solution to SLNX, and leaving them like that felt like an unfinished business.
  • I upgraded the COM solution to SLNX because I upgraded the main DLR solution to SLNX and wanted to be consistent.
  • I upgraded the main DLR solution to SLNX as part of a general cleanup and modernization of the DLR codebase (some already committed, more to come)
  • I started to do the general DLR code cleanup to make it a bit more comfortable to work on it to resolve/implement some old outstanding issues, like position-only/keyword-only params and async/await.
  • I am looking at async/await support in the DLR recently, because of the native CLR support for await in .NET 10/11
  • I wanted to have async/await support in IronPython because not having it is one of old blocking issues to progress in supporting modern Python libs (I wasn't aware of anybody else's work on this)

@slozier
Copy link
Contributor

slozier commented Feb 27, 2026

Oh, how long ago?

My "wip" commit says 2020... didn't think it was that long ago. Maybe I tried again since and didn't save anything. 😁 I seem to recall there was some COM changes I wanted to test...

I wanted to have async/await support in IronPython because not having it is one of old blocking issues to progress in supporting modern Python libs (I wasn't aware of anybody else's work on this)

Yeah, this one has been bothering me for a while. The recent PR is not perfect, but it seems good enough to get a foothold on the feature.

@BCSharp
Copy link
Member Author

BCSharp commented Mar 1, 2026

The recent PR is not perfect, but it seems good enough to get a foothold on the feature.

I agree.

@BCSharp BCSharp merged commit 392930b into IronLanguages:main Mar 1, 2026
8 checks passed
@BCSharp BCSharp deleted the drop_itanium branch March 1, 2026 02:24
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.

2 participants