Skip to content

Upgrade build system for Visual Studio 2022 and Windows 11 compatibility#8

Open
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin/1752841388-vs2022-windows11-upgrade
Open

Upgrade build system for Visual Studio 2022 and Windows 11 compatibility#8
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin/1752841388-vs2022-windows11-upgrade

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented Jul 18, 2025

Upgrade build system for Visual Studio 2022 and Windows 11 compatibility

Summary

This PR modernizes the dictationBridge-core build system to support Visual Studio 2022 and Windows 11 while maintaining backward compatibility. The changes focus on three main areas:

  1. Visual Studio version support: Updated MSVC version checks to accept Visual Studio 2015+ (MSVC 14.x and 19.x) instead of only VS 2015
  2. Python 3 compatibility: Replaced deprecated Python 2.7 syntax (_winregwinreg, iteritems()items(), print statements → print functions) with backward-compatible implementations
  3. Windows SDK modernization: Updated SDK targeting to try Windows 10 SDK first, then fallback to Windows SDK 7.1A for compatibility

The C++ code itself uses standard Windows APIs and should be compatible with Windows 11 without changes. The MinHook dependency already supports Visual Studio 2015+ so it will work with newer versions.

Review & Testing Checklist for Human

  • Test building with Visual Studio 2022 on Windows 11 - This is the primary goal and highest risk item since I couldn't test this locally
  • Verify Visual Studio 2017-2019 still work - Ensure backward compatibility wasn't broken by the MSVC version check changes
  • Test Windows SDK detection - Verify that the v10.0 → v7.1A fallback logic works correctly and doesn't break existing builds
  • Check Python 3 compatibility - Run the build with Python 3.7+ to ensure the winreg import changes work properly
  • Verify submodule builds - Ensure minhook submodule still compiles correctly with the updated toolchain

Recommended test plan: Try building the project on Windows 11 with Visual Studio 2022, then test with an older VS version to verify backward compatibility.


Diagram

%%{ init : { "theme" : "default" }}%%
graph TD
    README["README.md<br/>Build requirements"]:::minor-edit
    SConstruct["SConstruct<br/>Main build script"]:::minor-edit
    archBuild["archBuild_SConscript<br/>MSVC version check"]:::major-edit
    windowsSdk["site_scons/site_tools/<br/>windowsSdk.py<br/>SDK detection"]:::major-edit
    jawsCommand["commands/commands/<br/>jawsDragonCommand.py<br/>Print syntax fix"]:::minor-edit
    
    SConstruct -->|imports| windowsSdk
    archBuild -->|uses| windowsSdk
    archBuild -->|version check| SConstruct
    
    subgraph Legend
        L1[Major Edit]:::major-edit
        L2[Minor Edit]:::minor-edit
        L3[Context/No Edit]:::context
    end
    
    classDef major-edit fill:#90EE90
    classDef minor-edit fill:#87CEEB
    classDef context fill:#F5F5F5
Loading

Notes

  • Link to Devin run: https://app.devin.ai/sessions/33edeabead304ed382dd5559ad73f939
  • Requested by: @pranavlal
  • Risk level: 🟡 Yellow - Changes are straightforward but involve build system components that couldn't be tested locally
  • Key files modified: 5 files (README.md, SConstruct, archBuild_SConscript, windowsSdk.py, jawsDragonCommand.py)
  • Backward compatibility: Maintained through try/except blocks for Python imports and fallback logic for Windows SDK versions

- Update README to require Python 3.7+ and Visual Studio 2017 or later
- Replace deprecated _winreg imports with winreg using try/except for backward compatibility
- Update MSVC version check to support Visual Studio 2015+ (MSVC 14.x and 19.x)
- Modernize Windows SDK targeting to try Windows 10 SDK first, fallback to 7.1A
- Fix Python 2.7 syntax: iteritems() → items(), print statements → print() functions
- Update error messages to reflect modern toolchain support

Co-Authored-By: pranav@techesoterica.com <pranav.lal@gmail.com>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

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.

0 participants